chore: automate "Config" and "All Changes" sections of the upgrade guide#10392
Merged
paulbalandan merged 1 commit intoJul 8, 2026
Merged
Conversation
michalsn
approved these changes
Jul 8, 2026
5 tasks
5039032 to
f23bd78
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR automates the last manual-command step of the changelog/upgrade docs flow. The "All Changes" section of each version's upgrade guide was previously produced by copy-pasting a 4-line
git diffcommand with ~20 exclude patterns from RELEASE.md and hand-converting its output into RST bullets, with the "Config" subsection filled separately by hand.New script
admin/update-upgrade-guide.php(local git only, no GitHub CLI needed):php admin/update-upgrade-guide.php 4.x.x [--dry-run]. Diffs the project space against the previous release tag, resolved as the highest stablevX.Y.Ztag below the given version. This works regardless of the checked out branch, excludes the old prerelease tags, and stays correct when regenerating an older guide.(deleted)and writing "No project files were changed in this release." when the diff is empty. This list is regenerated on every run.app/Config/subset: modified files as the merge-recommended list and added files under "These files are new in this release:", or "No config files were changed in this release." when there are none. The annotation notes under each entry remain manual.- @TODOplaceholder. Entries are sometimes added ahead of time for changes that need discussion, so existing content is never overwritten. Instead the script prints any changed config files not yet mentioned, for manual merging.Also included:
Checklist: